#include "ausfuehren.h"

PAINTSTRUCT		ps;
double robo1[6][2];
double robo1_n[6][2];
double robo2[10][2];
double robo2_n[10][2];
double hand[19][2];
double hand_n[19][2];
double schweisser[9][2];
double schweisser_n[9][2];
double blech1[100][2];
double blech1_n[100][2];
double blech2[110][2];
double blech2_n[110][2];
double feuer[8][2];
double feuer_n[8][2];
int anz_p_b1, anz_p_b2, anz_p_s;
int h, z;
int l;
int r1;
int r2;
int r3;

void ausfuehren  (HWND hwnd, HDC hdc, RECT rect)
{
	int i;

	z=0;
	h=1;

	werte();
	
	einlesen();

	for (i=0;i<6;i++)		//Verschiebung des 1. Arms in die Ausgangsposition
	{
		robo1_n[i][0] = robo1[i][0] + 350;
		robo1_n[i][1] = robo1[i][1] + 300;
	}


	for (i=0;i<10;i++)		//Verschiebung des 2. Arms in die Ausgangsposition
	{
		robo2_n[i][0] = robo2[i][0] + robo1_n[5][0];
		robo2_n[i][1] = robo2[i][1] + robo1_n[5][1];
	}

	for (i=0;i<19;i++)		//Verschiebung der Hand in den Werkzeugschrank
	{
		hand_n[i][0] = hand[i][0] + 525;
		hand_n[i][1] = hand[i][1] + 110;
	}

	for (i=0;i<9;i++)		//Verschiebung des Schweißgeräts in den Werkzeugschrank
	{
		schweisser_n[i][0] = schweisser[i][0] + 475;
		schweisser_n[i][1] = schweisser[i][1] + 110;
	}

	for (i=0;i<anz_p_b1;i++)		//Verschiebung des 1. Blechs auf Fließband 1
	{
		blech1_n[i][0] = blech1[i][0] - 100;
		blech1_n[i][1] = blech1[i][1] + 150;
	}

	for (i=0;i<anz_p_b2+anz_p_s;i++)		//Verschiebung des 2. Blechs auf Fließband 2
	{
		blech2_n[i][0] = blech2[i][0] - 100;
		blech2_n[i][1] = blech2[i][1] + 450;
	}



/* Start des Bewegungsvorgangs */
		
	bewegen(hwnd, hdc, rect, 525, 110, 0, 500, 2000, 1, 3);		//Robo fährt zur Hand - Blech 1 wird reingefahren

	bewegen(hwnd, hdc, rect, 150, 250, 1, 350, 2000, 3, 3);		//Robo fährt zu Blech 1 auf Eingangsfließband
	
	bewegen(hwnd, hdc, rect, 800, 220, 2, 750, 2000, 0, 1);		//Robo bringt Blech 1 auf Schweißtisch
	
	bewegen(hwnd, hdc, rect, 450, 250, 1, 350, 2000, 3, 3);		//Robo fährt zu Blech 2 auf Eingangsfließband
	
	bewegen(hwnd, hdc, rect, 800, 220, 2, 750, 2000, 3, 0);		//Robo bringt Blech 2 auf Schweißtisch

	bewegen(hwnd, hdc, rect, 525, 110, 2, 500, 2000, 3, 3);		//Robo bringt Hand zurück

	bewegen(hwnd, hdc, rect, 475, 110, 0, 500, 500, 3, 3);		//Robo holt sich Schweißgerät

	bewegen(hwnd, hdc, rect, (int)blech2_n[anz_p_b2][0], (int)blech2_n[anz_p_b2][1], 3, 750, 2000, 3, 3);	//Robo fährt zum ersten Schweißpunkt

	for (i=0;i<anz_p_s;i++)					//Schweißpunkte werden gesetzt
	{
		Zeichne_Feuer(hdc);
	
		z++;		//Zählervariable für Schweißpunkte

		if (i < anz_p_s - 1)	
			bewegen(hwnd, hdc, rect, (int)blech2_n[anz_p_b2+i+1][0], (int)blech2_n[anz_p_b2+i+1][1], 3, 750, 300, 3, 3);
		
	}

	bewegen(hwnd, hdc, rect, 475, 110, 3, 500, 2000, 3, 3);		//Robo bringt Schweißgerät zurück
	
	bewegen(hwnd, hdc, rect, 525, 110, 0, 500, 500, 3, 3);		//Robo holt sich Hand
	
	bewegen(hwnd, hdc, rect, 800, 220, 1, 750, 2000, 3, 3);		//Robo fährt zu den Blechen
	
	bewegen(hwnd, hdc, rect, 650, 450, 2, 500, 2000, 0, 0);	//Robo bringt Bleche auf Ausgangsfließband
	
	bewegen(hwnd, hdc, rect, 650, 450, 1, 300, 2000, 2, 2);	//Robo fährt in die Mitte - Bleche fahren weg
	
}
